package com.ruoyi.huanjing.entity;

import lombok.Data;

import java.util.List;

/**
 * 海洋参数解析结果实体类
 * 用于封装海面基本特性、波高谱、波向谱等解析后的数据
 */
@Data
public class OceanParamParseResult {
    private Double significantWaveHeight; // 有效波高
    private Double maxWaveHeight; // 最大波高
    private Double avgWaveHeight; // 平均波高
    private Double waveDirection; // 波向
    private Double wavePeriod; // 波周期
    private Double currentSpeed; // 流速
    private Double currentDirection; // 流向
    private Double seaSurfaceTemp; // 海表温度
    private Double seaStateLevel; // 海情等级
    private Integer dataLength; // 数据长度 N
    private List<Double> frequencyData; // 频率数据
    private List<Double> waveHeightSpectrumData; // 波高谱密度数据
    private List<Double> waveDirectionSpectrumData; // 波向谱密度数据

    public OceanParamParseResult(double significantWaveHeight, double maxWaveHeight, double avgWaveHeight,
                                 double waveDirection, double wavePeriod, double currentSpeed,
                                 double currentDirection, double seaSurfaceTemp, double seaStateLevel,
                                 int dataLength, List<Double> frequencyData,
                                 List<Double> waveHeightSpectrumData,
                                 List<Double> waveDirectionSpectrumData) {
        this.significantWaveHeight = significantWaveHeight;
        this.maxWaveHeight = maxWaveHeight;
        this.avgWaveHeight = avgWaveHeight;
        this.waveDirection = waveDirection;
        this.wavePeriod = wavePeriod;
        this.currentSpeed = currentSpeed;
        this.currentDirection = currentDirection;
        this.seaSurfaceTemp = seaSurfaceTemp;
        this.seaStateLevel = seaStateLevel;
        this.dataLength = dataLength;
        this.frequencyData = frequencyData;
        this.waveHeightSpectrumData = waveHeightSpectrumData;
        this.waveDirectionSpectrumData = waveDirectionSpectrumData;
    }


}